#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMainWindow>
#include <QDebug>
#include <QStringList>
#include <QList>
#include <QString>
#include <QListWidgetItem>
#include <QTableWidgetItem>
#include <QTableWidget>
#include <QMessageBox>
#include <QTimer>//时间
#include <QFileDialog>//文件对话框
#include <QPixmap>//图片
#include <QMovie>//移动图片
#include <QPushButton>
#include <QSettings>//应用程序记住其设置信息
#include <QTextStream>
#include <QByteArray>
#include <QPalette>//设置字体颜色
#include <QBitmap>//QBitmap、QPainter用来设置圆角边缘
#include <QPainter>
#include <QMouseEvent>

#include <QPoint>
#include <QCursor>//获得当前鼠标样式
#include <QMouseEvent>//鼠标事件
#include <QRect>

#include "header.h"
#include "mymainwindow.h"
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void initCheckBox();//读取文本中的字符信息，对【用户名、密码】【CheckBox复选框】设定初始信息
    myMainWindow *mwd = NULL;//用来保存页面二的实例化对象的地址

public  slots:
    void pushButton_login();//登录
    void pushButton_cancel();//取消
    void pushButton_edit_password();//修改密码
    void recover();//接收【界面2】的信号，恢复当前【界面1】

signals:
    void page0(int , QString);//信号，显示【界面0】自身的有参信号
private:
    Ui::MainWindow *ui;

    QPoint dragPosition;   //鼠标拖动的位置
    int    edgeMargin;     //鼠标检测的边缘距离
    enum {nodir,
          top = 0x01,
          bottom = 0x02,
          left = 0x04,
          right = 0x08,
          topLeft = 0x01 | 0x04,
          topRight = 0x01 | 0x08,
          bottomLeft = 0x02 | 0x04,
          bottomRight = 0x02 | 0x08} resizeDir; //更改尺寸的方向

    void testEdge();  //检测鼠标是否接近窗口边缘

protected:
    void mousePressEvent(QMouseEvent*event);//鼠标按下事件
    void mouseMoveEvent(QMouseEvent*event);//鼠标移动事件
    void mouseReleaseEvent(QMouseEvent*event);//鼠标离开事件

};

#endif // MAINWINDOW_H
